|
AT-NFC
2.1 (win)
AT-NFC kernel set
|
Go to the source code of this file.
Macros | |
| #define | NFC_KER_OPT_DEBUG 0x0001 |
| Check option definitions. More... | |
| #define | NFC_KER_OPT_RRP 0x0002 |
| #define | NFC_KER_OPT_BIN_RANGE 0x0004 |
| #define | NFC_GET_DATA_OPT_CUST 0x0001 |
| #define | NFC_GET_DATA_OPT_SKIP_STD_PROC 0x0002 |
Typedefs | |
| typedef struct tag_KER_TRAN | KER_TRAN |
| typedef KER_BOOL(KER_API * | F_NFC_KER_CHECK_OPT) (KER_CTX_PARAM KER_TRAN *pTran, KER_INT16U usOption, KER_INT16U usParam, KER_VOID *pParam) |
| Checks kernel option callback. More... | |
| typedef KER_RES(KER_API * | F_NFC_KER_INIT) (KER_CTX_INIT_PARAM const KER_VOID *pConfigID, KER_INT16U usConfigIDLen, const KER_CHAR *pchKernelFiles, KER_INT16U usKernelFilesLen) |
| Performs kernel initialization. More... | |
| typedef KER_RES(KER_API * | F_NFC_KER_DEINIT) (KER_CTX_SINGLE_PARAM) |
| Performs kernel de-initialization. More... | |
| typedef KER_BOOL(KER_API * | F_NFC_KER_VERINFO) (KER_CTX_PARAM KER_CHAR **ppchEmvVer, KER_INT16U *pusEmvVerLen, KER_CHAR **ppchLibVer, KER_INT16U *pusLibVerLen) |
| Obtains emv kernel library version info. More... | |
| typedef KER_RES(KER_API * | F_NFC_KER_TRAN_PREPROCESS) (KER_CTX_PARAM KER_INT16U usOptions, const NFC_EP_PRE_DATA *pEpPRE) |
| Makes transaction preprocessing by kernel (optional) More... | |
| typedef KER_RES(KER_API * | F_NFC_KER_TRAN_START) (KER_CTX_PARAM const NFC_EP_PRE_DATA *pEpPRE, const NFC_EP_PPSE_DATA *pEpPPSE, const NFC_EP_TRAN_DATA *pEpTranData, KER_TRAN **ppTran, NFC_OUTCOME **ppOutcome) |
| Initiates transaction processing by kernel. More... | |
| typedef KER_RES(KER_API * | F_NFC_KER_TRAN_ISS_UPDATE) (KER_CTX_PARAM KER_TRAN *pTran, const NFC_EP_RESTART_DATA *pEpRestartData, const NFC_EXT_TERM_RESTART_DATA *pTermRestartData, NFC_OUTCOME **ppOutcome) |
| Initiates transaction bprocessing by kernel. More... | |
| typedef KER_BOOL(KER_API * | F_NFC_KER_TRAN_RELEASE) (KER_CTX_PARAM KER_TRAN *pTran) |
| Releases NFC Transaction container structure. More... | |
| typedef KER_RES(KER_API * | F_NFC_KER_GET_DATA) (KER_CTX_PARAM KER_TRAN *pTran, KER_INT16U usOptions, KER_BYTE *pbtData, KER_INT16U *pusDataLen) |
| Transaction data request. More... | |
| typedef KER_RES(KER_API * | F_NFC_KER_GET_DATA_BY_TAG) (KER_CTX_PARAM KER_TRAN *pTran, KER_INT16U usOptions, const KER_BYTE *pbtTag, KER_BYTE btTagSize, KER_BYTE *pbtData, KER_INT16U *pusDataSize) |
| transaction data request More... | |
| typedef KER_RES(KER_API * | F_NFC_KER_GET_DATA_BY_TAG_LIST) (KER_CTX_PARAM KER_TRAN *pTran, KER_INT16U usOptions, const KER_BYTE *pbtTagList, KER_INT16U usTagListSize, KER_BYTE *pbtData, KER_INT16U *pusDataSize) |
| transaction data request More... | |
NFC KERNEL library export functions which should be called by Entry Point (EP)
| #define NFC_GET_DATA_OPT_CUST 0x0001 |
also look in custom data, not recognized by EMVCo
| #define NFC_GET_DATA_OPT_SKIP_STD_PROC 0x0002 |
skip standard lookup algorithm, proceed to custom data
| #define NFC_KER_OPT_BIN_RANGE 0x0004 |
BIN Range check
| #define NFC_KER_OPT_DEBUG 0x0001 |
Check option definitions.
Debug mode check
| #define NFC_KER_OPT_RRP 0x0002 |
RRP mode check
| typedef KER_BOOL(KER_API * F_NFC_KER_CHECK_OPT) (KER_CTX_PARAM KER_TRAN *pTran, KER_INT16U usOption, KER_INT16U usParam, KER_VOID *pParam) |
Checks kernel option callback.
| [in] | pTran | - pointer to the transaction structure (obtained by F_NFC_KER_TRAN_START) |
| [in] | usOption | - option to check (NFC_KER_OPT_DEBUG, NFC_KER_OPT_RRP) |
| [in] | usParam | - reserved. |
| [in] | pParam | - reserved. |
| typedef KER_RES(KER_API * F_NFC_KER_DEINIT) (KER_CTX_SINGLE_PARAM) |
Performs kernel de-initialization.
Terminal Application should de-init kernel by this function
| typedef KER_RES(KER_API * F_NFC_KER_GET_DATA) (KER_CTX_PARAM KER_TRAN *pTran, KER_INT16U usOptions, KER_BYTE *pbtData, KER_INT16U *pusDataLen) |
Transaction data request.
call this function to obtain transaction data from kernel (as a flat TLV with all data available)
| [in] | pTran | - pointer to the transaction structure (obtained by F_NFC_KER_INIT) |
| [in] | usOptions | - get options (bitmask), reserved |
| [out] | pbtData | - Buffer to obtain transaction data (in TLV) (path KER_NULL if you need to calculate tran data length only) |
| [in,out] | pusDataLen | - Size of Buffer pbtData as input, data length as output |
| typedef KER_RES(KER_API * F_NFC_KER_GET_DATA_BY_TAG) (KER_CTX_PARAM KER_TRAN *pTran, KER_INT16U usOptions, const KER_BYTE *pbtTag, KER_BYTE btTagSize, KER_BYTE *pbtData, KER_INT16U *pusDataSize) |
transaction data request
call this function to obtain transaction data by tag from kernel
| [in] | pTran | - pointer to the transaction structure (obtained by F_NFC_KER_TRAN_START) |
| [in] | usOptions | - get options (bitmask), reserved |
| [in] | pbtTag | - buffer with tag value |
| [in] | btTagSize | - pbtTag value length |
| [out] | pbtData | - buffer to obtain provided tag value |
| [in,out] | pusDataSize | - pbtData buffer size as input, output containes result data length |
| typedef KER_RES(KER_API * F_NFC_KER_GET_DATA_BY_TAG_LIST) (KER_CTX_PARAM KER_TRAN *pTran, KER_INT16U usOptions, const KER_BYTE *pbtTagList, KER_INT16U usTagListSize, KER_BYTE *pbtData, KER_INT16U *pusDataSize) |
transaction data request
call this function to obtain transaction data by tag list from kernel
| [in] | pTran | - pointer to the transaction structure (obtained by F_NFC_KER_TRAN_START) |
| [in] | usOptions | - get options (bitmask), reserved |
| [in] | pbtTagList | - buffer with tag list |
| [in] | usTagListSize | - pbtTagList value length |
| [out] | pbtData | - buffer to obtain provided tag list in TLV format |
| [in,out] | pusDataSize | - pbtData buffer size as input, output containes result data length |
| typedef KER_RES(KER_API * F_NFC_KER_INIT) (KER_CTX_INIT_PARAM const KER_VOID *pConfigID, KER_INT16U usConfigIDLen, const KER_CHAR *pchKernelFiles, KER_INT16U usKernelFilesLen) |
Performs kernel initialization.
| [in] | pConfigID | Buffer with configuration ID obtained from Terminal Application (in HAL recognized format) |
| [in] | usConfigIDLen | pConfigID buffer length |
| [in] | pchKernelFiles | buffer with kernel binary file names (for checksum calculation) - set of nul terminated strings ended by nul. |
| [in] | usKernelFilesLen | length of pchKernelFiles including nul-terminating sym |
Terminal Application should init kernel by this function before calling any other kernel functions
| typedef KER_RES(KER_API * F_NFC_KER_TRAN_ISS_UPDATE) (KER_CTX_PARAM KER_TRAN *pTran, const NFC_EP_RESTART_DATA *pEpRestartData, const NFC_EXT_TERM_RESTART_DATA *pTermRestartData, NFC_OUTCOME **ppOutcome) |
Initiates transaction bprocessing by kernel.
This function initiates NFC issuer update after online request completion
| [in] | pTran | - pointer to the transaction structure (obtained by F_NFC_KER_TRAN_START) |
| [in] | pEpRestartData | - Entry Point transaction restart data (last FCI) |
| [in] | pTermRestartData | - Terminal transaction restart data (issuer update data assumed) |
| [out] | ppOutcome | - pointer to obtain transaction outcome |
| typedef KER_RES(KER_API * F_NFC_KER_TRAN_PREPROCESS) (KER_CTX_PARAM KER_INT16U usOptions, const NFC_EP_PRE_DATA *pEpPRE) |
Makes transaction preprocessing by kernel (optional)
This function initiates NFC transaction preprocessing by kernel
| [in] | usOptions | transaction options, set from outside |
| [in] | pEpPRE | - Entry Point preprocesing data |
| typedef KER_BOOL(KER_API * F_NFC_KER_TRAN_RELEASE) (KER_CTX_PARAM KER_TRAN *pTran) |
Releases NFC Transaction container structure.
| [in] | pTran | - pointer to the transaction structure to release (obtained by F_NFC_KER_TRAN_START) |
| typedef KER_RES(KER_API * F_NFC_KER_TRAN_START) (KER_CTX_PARAM const NFC_EP_PRE_DATA *pEpPRE, const NFC_EP_PPSE_DATA *pEpPPSE, const NFC_EP_TRAN_DATA *pEpTranData, KER_TRAN **ppTran, NFC_OUTCOME **ppOutcome) |
Initiates transaction processing by kernel.
This function initiates NFC transaction processing by kernel, based on Select command results (from EP)
| [in] | pEpPRE | - Entry Point preprocesing data |
| [in] | pEpPPSE | - Entry Point selected aid related PPSE data |
| [in] | pEpTranData | - transaction data maintained by Entry Point |
| [out] | ppTran | - pointer to created transaction structure |
| [out] | ppOutcome | - pointer to obtain transaction outcome |
| typedef KER_BOOL(KER_API * F_NFC_KER_VERINFO) (KER_CTX_PARAM KER_CHAR **ppchEmvVer, KER_INT16U *pusEmvVerLen, KER_CHAR **ppchLibVer, KER_INT16U *pusLibVerLen) |
Obtains emv kernel library version info.
| [out] | ppchEmvVer | pointer to obtain reference to Kernel Specification version info (optional, set KER_NULL if you don't need it) |
| [out] | pusEmvVerLen | length of data, including nul-terminated symbol (optional, set KER_NULL if you don't need it) |
| [out] | ppchLibVer | pointer to obtain reference to kernel library version info (optional, set KER_NULL if you don't need it) |
| [out] | pusLibVerLen | length of data, including nul-terminated symbol (optional, set KER_NULL if you don't need it) |